package contato;

import java.util.Collection;
import java.util.List;

import usuario.Usuario;

import erros.ContatoExiste;

public class ContatoNegocio {

	private IContatoDAO contatoDAO;
	
	public ContatoNegocio(){
		contatoDAO = new ContatoDAO();
	}

	public void inserirContato(Contato contato) throws ContatoExiste{
		if(contatoExiste(contato.getTelefone(), contato.getUsuario())) {
			throw new ContatoExiste();
		} else {
			contatoDAO.inserir(contato);
		}
	}

	public void alterarContato(Contato contato) {
		contatoDAO.alterar(contato);
	}

	public void removerContato(Contato contato) {
		contatoDAO.remover(contato);
	}

	public Contato consultarContatoPorId(Integer id) {
		return contatoDAO.consultarPorId(id);
	}

	public void inserirColecaoContatos(Collection<Contato> contatos) {
		contatoDAO.inserirColecao(contatos);
	}

	public List<Contato> listarTodosContatos() {
		return contatoDAO.listarTudo();
	}

	public List<Contato> listarContatosPorUsuario(Usuario usuario) {
		return contatoDAO.listarContatosPorUsuario(usuario);
	}

	public boolean contatoExiste(String telefone, Usuario usuario) {
		return contatoDAO.contatoExiste(telefone, usuario);
	}
	
}
